Node.js Environment Variables

Node.js

পরিবেশ পরিবর্তনশীল কি?

এনভায়রনমেন্ট ভেরিয়েবলগুলি গতিশীলভাবে নামযুক্ত মান যা কম্পিউটারে চলমান প্রক্রিয়াগুলি কীভাবে আচরণ করে তা প্রভাবিত করতে পারে।

এগুলি একটি প্রক্রিয়ার চলমান পরিবেশের অংশ এবং কোড পরিবর্তন না করেই অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়।

মূল সুবিধা:

কোড থেকে আলাদাভাবে গঠন সংরক্ষণ করুন

গুরুত্বপূর্ণ তথ্য সংস্করণ নিয়ন্ত্রণের বাইরে রাখুন

পরিবেশ জুড়ে ভিন্নভাবে অ্যাপ্লিকেশন কনফিগার করুন

কোড পরিবর্তন ছাড়া অ্যাপ্লিকেশন আচরণ পরিবর্তন করুন

সাধারণ ব্যবহারের ক্ষেত্রে

প্রসঙ্গ কাঠামো

ডাটাবেস সংযোগ স্ট্রিং
API কী এবং গোপনীয়তা
বাহ্যিক পরিষেবা URL
বৈশিষ্ট্য পতাকা

রানটাইম আচরণ

নিবন্ধন বিবরণ
পোর্ট নম্বর
সময়ের সীমা এবং সীমাবদ্ধতা
প্রসঙ্গ-নির্দিষ্ট সেটিংস

Node.js-এ পরিবেশের ভেরিয়েবল অ্যাক্সেস করা

Node.js process.env .

এই অবজেক্টে বর্তমান প্রক্রিয়ার জন্য উপলব্ধ সমস্ত পরিবেশ ভেরিয়েবল রয়েছে।

মৌলিক আবেদন

// Access a single environment variable
const nodeEnv = process.env.NODE_ENV || 'development';
console.log(`Running in ${nodeEnv} mode`);

// Access multiple variables with destructuring
const { PORT = 3000, HOST = 'localhost' } = process.env;
console.log(`Server running at http://${HOST}:${PORT}`);

// Check if running in production
if (process.env.NODE_ENV === 'production') {
  console.log('Production optimizations enabled');
  // Enable production features
}

সাধারণ বিল্ট-ইন এনভায়রনমেন্ট ভেরিয়েবল

পরিবর্তনশীল ব্যাখ্যা উদাহরণ
NODE_ENV বর্তমান পরিবেশ (উন্নয়ন, পরীক্ষা, উৎপাদন) production
PORT যে পোর্ট নম্বরে সার্ভার শুনতে হবে 3000
PATH এক্সিকিউটেবল সার্চের সিস্টেম পাথ /usr/local/bin:/usr/bin
HOME ব্যবহারকারীর হোম ডিরেক্টরি /Users/username

💡দ্রষ্টব্য:

আপনার অ্যাপ্লিকেশনে অনির্ধারিত মান প্রতিরোধ করতে পরিবেশ ভেরিয়েবল অ্যাক্সেস করার সময় সর্বদা ডিফল্ট মান প্রদান করুন।

পরিবেশের ভেরিয়েবল সেট করা

আপনার উন্নয়ন কর্মপ্রবাহ এবং বিতরণ পরিবেশের উপর নির্ভর করে আপনার Node.js অ্যাপ্লিকেশনের জন্য পরিবেশ ভেরিয়েবল সেট করার বিভিন্ন উপায় রয়েছে।

1. কমান্ড লাইন (অস্থায়ী)

আপনার অ্যাপ্লিকেশন শুরু করার সময় সরাসরি কমান্ড লাইনে ভেরিয়েবল সেট করুন:

Windows (Command Prompt)

set PORT=3000
set NODE_ENV=development
set DB_HOST=localhost
node app.js

Windows (PowerShell)

$env:PORT=3000
$env:NODE_ENV="development"
node app.js

macOS/Linux (Bash/Zsh)

PORT=3000 NODE_ENV=development DB_HOST=localhost node app.js

macOS/Linux (একাধিক লাইন)

export PORT=3000
export NODE_ENV=development
node app.js

2. dotenv এর সাথে .env ফাইল ব্যবহার করা

উন্নয়নের জন্য, স্থানীয়ভাবে পরিবেশ ভেরিয়েবল সংরক্ষণ করতে একটি .env ফাইল ব্যবহার করুন:

1. dotenv প্যাকেজ ইনস্টল করুন

npm install dotenv

2. একটি .env ফাইল তৈরি করুন

# .env
PORT=3000
NODE_ENV=development
DB_HOST=localhost
DB_USER=admin
DB_PASS=your_secure_password
API_KEY=your_api_key_here

3. আপনার অ্যাপ্লিকেশনে .env লোড করুন

// Load environment variables from .env file
require('dotenv').config();

const port = process.env.PORT || 3000;
const dbConfig = {
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASS
};

console.log(`Server running on port ${port}`);

⚠️গুরুত্বপূর্ণ:

সংস্করণ নিয়ন্ত্রণে .env ফাইল জমা দেবেন না। আপনার .gitignore ফাইলে .env যোগ করুন।

3. উৎপাদন পরিবেশ ভেরিয়েবল

উৎপাদনে, আপনার হোস্টিং প্রদানকারীর কনফিগারেশন ব্যবহার করে পরিবেশের ভেরিয়েবল সেট করুন:

Heroku

heroku config:set NODE_ENV=production DATABASE_URL=your_database_url

Docker

docker run -e NODE_ENV=production -e PORT=3000 your-image

লিনাক্স/সিস্টেমড পরিষেবা

# /etc/systemd/system/your-app.service
[Service]
Environment="NODE_ENV=production"
Environment="PORT=3000"

স্থানীয় উন্নয়নের জন্য dotenv ব্যবহার করে

dotenv প্যাকেজ আপনাকে একটি .env ফাইল থেকে পরিবেশ ভেরিয়েবল লোড করতে দেয়:

.env ফাইল

# .env file
API_KEY=abcdef12345

আপনার অ্যাপ্লিকেশনে ভেরিয়েবল লোড করুন

require('dotenv').config();
console.log(process.env.API_KEY);

এই মত dotenv ইনস্টল করুন:

npm install dotenv

সারাংশ

প্রসঙ্গ ভেরিয়েবলগুলি আপনার কোডের বাইরে গুরুত্বপূর্ণ ডেটা এবং কাঠামো রাখতে সাহায্য করে।

Node.js process.env dotenv .

অনুশীলন করুন

Node.js , ______.env .

process
✓ ঠিক আছে! Node.js-এ, এনভায়রনমেন্ট ভেরিয়েবলগুলি process.env-এর মাধ্যমে অ্যাক্সেস করা হয়। এই অবজেক্টে বর্তমান প্রক্রিয়ার জন্য উপলব্ধ সমস্ত পরিবেশ ভেরিয়েবল রয়েছে।
global
✗ ভুল! global.env Node.js-এ একটি বৈধ বস্তু নয়। এনভায়রনমেন্ট ভেরিয়েবলগুলি process.env-এর মাধ্যমে অ্যাক্সেস করা হয়।
environment
✗ ভুল! Environment.env Node.js-এ একটি বৈধ বস্তু নয়। এনভায়রনমেন্ট ভেরিয়েবলগুলি process.env-এর মাধ্যমে অ্যাক্সেস করা হয়।
system
✗ ভুল! system.env Node.js-এ একটি বৈধ বস্তু নয়। এনভায়রনমেন্ট ভেরিয়েবলগুলি process.env-এর মাধ্যমে অ্যাক্সেস করা হয়।